program hsgdhsdghdfgh;
Type Uk=^W;
W=RECORD;
Inf:char;
Next:Uk;
end;
var s:string;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
function revs(s:string):string ;
var Ki,Li:Uk;
i:integer;
s1,s2:string;
begin
Li:=nil;
s1:='';
s2:='';

if length(s) mod 2=1 then
begin
write('There is an odd number of symbols in this string');
Exit;
end;

For i:=1  to length(s) do
begin
New(Ki);
Ki^.Inf:=s[i];
Ki^.Next:=Li;
Li:=Ki;
end;


For i:=1 to round(length(s)/2) do
begin
s1:=s1+Li^.Inf;
Li:=Li^.Next;
end;


For i:=1 to round(length(s)/2) do
begin
s2:=s2+Li^.Inf;
Li:=Li^.Next;
end;

result:=s2+s1;

end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
begin
cls;
s:='baracuda';
write(revs(s));
end.